Almost all printers are subject to temporal color drift, i.e., color printed at time T1 is different from the color printed at a different time T2, for a given digital color input value. To maintain consistent color output from day to day or over other periods of time, it is necessary to monitor the printer output and apply corresponding color adjustments to the digital inputs sent to the printer. A similar problem is color drift across printing media, i.e., where a particular digital color input value to a printer results in different color printed output depending upon the style, color, quality, finish, etc. of the paper or other recording media upon which the ink/toner is deposited. These color drift problems are illustrated graphically in FIG. 1, wherein it can be seen that digital image data input to a printer results in printed output that varies from a time T1 to a time T2 and that varies from media (e.g., paper) M1 to media (e.g., paper) M2.
Full color characterization can be performed as needed to correct for temporal color drift or media color drift, as described, e.g., in R. Bala, “Device Characterization,” Digital Color Imaging Handbook, Chapter 5, CRC Press, 2003. This is a time consuming operation that is preferably avoided in most xerographic printing environments. Simpler color correction methods based on 1-dimensional (1-D) tone response curve (TRC) calibration for each of the individual color channels are usually sufficient and are easier to implement. The 1-D TRC calibration approach is also well-suited for use of in-line color measurement sensors, but is typically halftone dependent. In general, for each color channel C and for each halftone method H, a series of test patches are printed in response to N different digital input levels which requires C×H×N test patches, because the test patches must be printed for each halftone method. It has been found in practice that N must not be too small (e.g., N=16 is usually too small) because the TRC for each halftone method is typically not a smooth curve, due to dot overlapping and other microscopic geometries of the printer physical output. Existing methods for 1-D calibration, being halftone dependent, are measurement-intensive, and are not practical for in-line calibration, especially in print engines equipped with multiple halftone screens.
Previously, Wang and others have proposed a halftone independent printer model for calibrating black-and-white and color printers. This halftone independent printer model is referred to as the two-by-two (2×2) printer model and is described, e.g., in the following U.S. patents, all of which are hereby expressly incorporated by reference into this specification: U.S. Pat. Nos. 5,469,267, 5,748,330, 5,854,882, 6,266,157 and 6,435,654. The 2×2 printer model is also described in the following document that is also hereby expressly incorporated by reference into this specification: S. Wang, “Two-by-Two Centering Printer Model with Yule-Nielsen Equation,” Proc. IS&T NIP14, 1998.
The 2×2 printer model is explained briefly with reference to FIGS. 2A, 2B and 2C (note that in FIGS. 2A, 2B, 2C the grid pattern is shown for reference only). FIG. 2A illustrates an ideal example of a halftone printer output pattern IHP, where none of the ink/toner dots ID overlap each other (any halftone pattern can be used and the one shown is a single example only); practical printers are incapable of generating non-overlapping square dots as shown in FIG. 2A. A more realistic dot overlap model is the circular dot model shown in FIG. 2B for the pattern HP (the halftone pattern HP of FIG. 2B corresponds to the halftone pattern IHP of FIG. 2A). These overlapping dots D in combination with optical scattering in the paper medium create many difficulties in modeling a black-and-white printer (or a monochromatic channel of a color printer). In a conventional approach such as shown in FIG. 2B, the output pixel locations are defined by the rectangular spaces L of the conceptual grid pattern G and are deemed to have centers coincident with the centers of the dots output D (or not output) by the printer. Because the grid G is conceptual only, according to the 2×2 printer model, the grid G can be shifted as shown in FIG. 2C and indicated at G′ so that the printer output dots D′ of the pattern HP′ are centered at a cross-point of the grid G′ rather than in the spaces L′. Although the halftone dot patterns HP,HP′ of FIGS. 2B and 2C are identical, overlapping details within the rectangular spaces L′ of the grid of FIG. 2C are completely different as compared to FIG. 2B. More particularly, there are only 24=16 different overlapping dot patterns for the 2×2 model shown in FIG. 2C, while there are 29=512 different overlapping dot patterns in a conventional circular dot model as shown in FIG. 2B.
The 16 different overlapping dot patterns of FIG. 2C can be grouped into seven categories G0-G6 as shown in FIG. 2D, i.e., each of the 16 possible different overlapping dot patterns of a pixel location L′ associated with the model of FIG. 2C can be represented by one of the seven patterns G0-G6 of FIG. 2D. The patterns G0 and G6 represent solid white and solid black (or other monochrome color), respectively. The pattern G1 is one of four different equivalent overlapping patterns that are mirror image of each other, as is the pattern G5. Each of the patterns G2, G3, G4 represents one of two different mirror-image overlapping patterns. Therefore, in terms of ink/toner color coverage (gray level), all pixels (located in the rectangular spaces L′ of the conceptual grid pattern G) of each of the seven patterns G0-G6 are identical within a particular pattern G0-G6. In other words, each pattern G0-G6 consists of only one gray level at the pixel level L′, and this gray level can be measured exactly.
The test patches G0′-G6′ shown in FIG. 2E illustrate an example of one possible real-world embodiment for printing the seven patterns G0-G6. The present development is described herein with reference to printing and measuring the color of the test patches G0′-G6′, and those of ordinary skill in the art will recognize that this is intended to encompass printing and measuring the color of any other test patches that respectively represent the patterns G0-G6 in order to satisfy the 2×2 printer model as described herein. It is not intended that the present development, as disclosed below, be limited to use of the particular test patches G0′-G6′ or any other embodiment of the 2×2 patterns G0-G6. In general, for the 2×2 printer model to hold, the shape of the dots D′ must be symmetric in the x (width) and y (height) directions, and each dot D′ should be no larger than the size of two output pixel locations L′ in both the x and y directions. The dots D′ need not be circular as shown.
The 2×2 printer model as just described can be used to predict the gray level of any binary (halftone) pattern, because any binary pattern such as the halftone pattern of FIG. 2C can be modeled as a combination of the seven patterns G0-G6, each of which has a measurable gray level as just described. In other words, once the seven test patches G0′-G6′ are printed and the gray (color) level of each is measured, the gray level of any binary pattern can be predicted mathematically and without any additional color measurements. For example, the halftone pattern of FIG. 2C is shown in FIG. 3, along with its corresponding 2×2 based model M, wherein each of the output pixels of the halftone pattern HP′ (conceptually located in a rectangular space L′ of the grid) is represented by one of the seven 2×2 patterns G0-G6 that has a corresponding color output pattern/coverage for its pixels. Thus, for example, for the pixel P00 of the binary pattern HP′, the 2×2 pattern G1 has pixels with corresponding color coverage (as indicated at P00′, while for the pixel P50, the 2×2 pattern G3 has pixels with corresponding color coverage as shown at P50′, and for the pixel P66 there is no color which corresponds to the pattern G0 as indicated at P66′ of the model M. As such, any binary pattern of pixels can be modeled as a combination of the 2×2 patterns G0-G6 by selecting, for each pixel of the binary pattern, the one of the 2×2 patterns G0-G6 that is defined by pixels having color coverage the equals the color coverage of the pixel in question.
When a binary pattern HP′ is represented by a model M comprising a plurality of the patterns G0-G6, the gray level output of the binary pattern HP′ can be estimated mathematically, e.g., using the Neugebauer equation with the Yule-Nielsen modification, as follows:
      G    AVG          1      /      γ        =            ∑              i        =        0            6        ⁢                  n        i            ⁢              G        i                  1          /          γ                    where Gi, i=0 to 6 is the measured gray level of the respective 2×2 patterns G0-G6, ni is the number of pixels of the corresponding 2×2 pattern in the binary pattern, and γ is the Yule-Nielsen factor, a parameter which is often chosen to optimize the fit of the model to selected measurements of halftone patches. Details of such an optimization are given in R. Bala, “Device Characterization,” Digital Color Imaging Handbook, Chapter 5, CRC Press, 2003. For example, the average gray level of the binary pattern of FIG. 2B/FIG. 2C can be estimated as:GAVG=(7G01/γ+25G11/γ+7G21/γ+3G31/γ+3G41/γ+3G51/γ+G61/γ)γ
The color 2×2 printer model can be described in a similar manner. The color 2×2 printer model can predict the color appearance of binary patterns for a given color printer and the color accuracy of the prediction is high for printers with relatively uniform dot shapes, such as inkjet printers. However, xerographic printers usually do not generate uniform round-shape dots for isolated single pixels and the dot overlapping is more complicated as compared to inkjet dot output. As such, the color 2×2 printer model applied to a xerographic printer will typically yield larger prediction errors.